#include "Aplicacion.h"

Aplicacion::Aplicacion(){}

Aplicacion::~Aplicacion(){

}

int Aplicacion::definirArchivoConfiguracion(const string* const ruta) {

	std::ifstream archivo(ruta->c_str());

	if ( archivo.is_open() ) {

		rutaArchivoConfiguracion.assign(ruta->c_str());
		archivo.close();
	}

	return rutaArchivoConfiguracion.size();
}

bool Aplicacion::definirArchivoDeLog(const string* const rutaArchivoLog) {

	return Logger::crearArchivo(rutaArchivoLog);
}

void Aplicacion::iniciar(const string* const nombreVentana) {
	
	controladorJuego.establecerTiempoDeRefresco(100);
	controladorJuego.establecerTiempoSimulacion(50);

	if (controladorJuego.tiemposAsignados() == true) {

		manejadorModelo.construir(&rutaArchivoConfiguracion);

		manejadorVista.setManejadorModelo(&manejadorModelo);
		manejadorVista.instanciarVentana(640, 480);
		manejadorVista.asignarNombreVentana(nombreVentana);

		controladorJuego.setManejadorModelo(&manejadorModelo);
		controladorJuego.setManejadorVista(&manejadorVista);

		controladorJuego.iniciar();
	}

}
